Next: News Spool, Up: Getting News [Contents][Index]
Subscribing to a foreign group from an NNTP
server is rather easy. You just specify nntp as
method and the address of the NNTP server as
the, uhm, address.
If the NNTP server is located at a non-standard port, setting the third element of the select method to this port number should allow you to connect to the right port. You’ll have to edit the group info for that (see Foreign Groups).
The name of the foreign group can be the same as a native group. In fact, you can subscribe to the same group from as many different servers you feel like. There will be no name collisions.
The following variables can be used to create a virtual
nntp server:
nntp-server-opened-hookis run after a connection has been made. It can be used to
send commands to the NNTP server after it
has been contacted. By default it sends the command
MODE READER to the server with the
nntp-send-mode-reader function. This function
should always be present in this hook.
nntp-authinfo-functionThis function will be used to send
‘AUTHINFO’ to the
NNTP server. The default function is
nntp-send-authinfo, which looks through your
~/.authinfo (or whatever you’ve set the
nntp-authinfo-file variable to) for applicable
entries. If none are found, it will prompt you for a login
name and a password. The format of the
~/.authinfo file is (almost) the same as the
ftp ~/.netrc file, which is defined
in the ftp manual page, but here are the salient
facts:
The valid tokens include
‘machine’,
‘login’,
‘password’,
‘default’. In addition Gnus
introduces two new tokens, not present in the original
.netrc/ftp syntax, namely
‘port’ and
‘force’. (This is the only way
the .authinfo file format deviates from the
.netrc file format.)
‘port’ is used to indicate what
port on the server the credentials apply to and
‘force’ is explained below.
Here’s an example file:
machine news.uio.no login larsi password geheimnis machine nntp.ifi.uio.no login larsi force yes
The token/value pairs may appear in any order; ‘machine’ doesn’t have to be first, for instance.
In this example, both login name and password have been supplied for the former server, while the latter has only the login name listed, and the user will be prompted for the password. The latter also has the ‘force’ tag, which means that the authinfo will be sent to the nntp server upon connection; the default (i.e., when there is not ‘force’ tag) is to not send authinfo to the nntp server until the nntp server asks for it.
You can also add ‘default’ lines that will apply to all servers that don’t have matching ‘machine’ lines.
default force yes
This will force sending ‘AUTHINFO’ commands to all servers not previously mentioned.
Remember to not leave the ~/.authinfo file world-readable.
nntp-server-action-alistThis is a list of regexps to match on server types and actions to be taken when matches are made. For instance, if you want Gnus to beep every time you connect to innd, you could say something like:
(setq nntp-server-action-alist
'(("innd" (ding))))
You probably don’t want to do that, though.
The default value is
'(("nntpd 1\\.5\\.11t"
(remove-hook 'nntp-server-opened-hook
'nntp-send-mode-reader)))
This ensures that Gnus doesn’t send the MODE
READER command to nntpd 1.5.11t, since that command
chokes that server, I’ve been told.
nntp-maximum-requestIf the NNTP server doesn’t
support NOV headers, this back end will
collect headers by sending a series of head
commands. To speed things up, the back end sends lots of
these commands without waiting for reply, and then reads all
the replies. This is controlled by the
nntp-maximum-request variable, and is 400 by
default. If your network is buggy, you should set this to
1.
nntp-connection-timeoutIf you have lots of foreign nntp groups that
you connect to regularly, you’re sure to have problems
with NNTP servers not responding properly,
or being too loaded to reply within reasonable time. This is
can lead to awkward problems, which can be helped somewhat by
setting nntp-connection-timeout. This is an
integer that says how many seconds the nntp back
end should wait for a connection before giving up. If it is
nil, which is the default, no timeouts are
done.
nntp-nov-is-evilIf the NNTP server does not support
NOV, you could set this variable to
t, but nntp usually checks
automatically whether NOV can be used.
nntp-xover-commandsList of strings used as commands to fetch
NOV lines from a server. The default value
of this variable is ("XOVER" "XOVERVIEW").
nntp-nov-gapnntp normally sends just one big request for
NOV lines to the server. The server
responds with one huge list of lines. However, if you have
read articles 2–5000 in the group, and only want to
read article 1 and 5001, that means that nntp
will fetch 4999 NOV lines that you will
not need. This variable says how big a gap between two
consecutive articles is allowed to be before the
XOVER request is split into several request.
Note that if your network is fast, setting this variable to a
really small number means that fetching will probably be
slower. If this variable is nil,
nntp will never split requests. The default is
5.
nntp-xref-number-is-evilWhen Gnus refers to an article having the
Message-ID that a user specifies or having the
Message-ID of the parent article of the current
one (see Finding the
Parent), Gnus sends a HEAD command to the
NNTP server to know where it is, and the
server returns the data containing the pairs of a group and
an article number in the Xref header. Gnus
normally uses the article number to refer to the article if
the data shows that that article is in the current group,
while it uses the Message-ID otherwise. However,
some news servers, e.g., ones running Diablo, run multiple
engines having the same articles but article numbers are not
kept synchronized between them. In that case, the article
number that appears in the Xref header varies by
which engine is chosen, so you cannot refer to the parent
article that is in the current group, for instance. If you
connect to such a server, set this variable to a
non-nil value, and Gnus never uses article
numbers. For example:
(setq gnus-select-method
'(nntp "newszilla"
(nntp-address "newszilla.example.com")
(nntp-xref-number-is-evil t)
…))
The default value of this server variable is
nil.
nntp-prepare-server-hookA hook run before attempting to connect to an NNTP server.
nntp-record-commandsIf non-nil, nntp will log all
commands it sends to the NNTP server
(along with a timestamp) in the *nntp-log*
buffer. This is useful if you are debugging a
Gnus/NNTP connection that doesn’t
seem to work.
nntp-open-connection-functionIt is possible to customize how the connection to the nntp
server will be opened. If you specify an
nntp-open-connection-function parameter, Gnus
will use that function to establish the connection. Seven
pre-made functions are supplied. These functions can be
grouped in two categories: direct connection functions (four
pre-made), and indirect ones (three pre-made).
nntp-never-echoes-commandsNon-nil means the nntp server never echoes
commands. It is reported that some nntps server doesn’t
echo commands. So, you may want to set this to
non-nil in the method for such a server setting
nntp-open-connection-function to
nntp-open-ssl-stream for example. The default
value is nil. Note that the
nntp-open-connection-functions-never-echo-commands
variable overrides the nil value of this
variable.
nntp-open-connection-functions-never-echo-commandsList of functions that never echo commands. Add or set a
function which you set to
nntp-open-connection-function to this list if it
does not echo commands. Note that a non-nil
value of the nntp-never-echoes-commands variable
overrides this variable. The default value is
(nntp-open-network-stream).
nntp-prepare-post-hookA hook run just before posting an article. If there is no
Message-ID header in the article and the news
server provides the recommended ID, it will be added to the
article before running this hook. It is useful to make
Cancel-Lock headers even if you inhibit Gnus to
add a Message-ID header, you could say:
(add-hook 'nntp-prepare-post-hook 'canlock-insert-header)
Note that not all servers support the recommended ID. This works for INN versions 2.3.0 and later, for instance.
nntp-server-list-active-groupIf nil, then always use
‘GROUP’ instead of ‘LIST
ACTIVE’. This is usually slower, but on
misconfigured servers that don’t update their active
files often, this can help.
| • Direct Functions: | Connecting directly to the server. | |
| • Indirect Functions: | Connecting indirectly to the server. | |
| • Common Variables: | Understood by several connection functions. |
Next: News Spool, Up: Getting News [Contents][Index]